1

数据库设计规范

  • 命令规范

    • 所有的单词使用小写+下划线分割组合
    • 禁止使用MySQL保留关键字
    • 临时表命名: tmp_tablename_20180101
    • 备份表命名: bak_tablename_20180101
  • 拥抱InnoDB(事务、行级锁、恢复性、高并发)
  • 编码选择:UTF-8
  • 对表、字段统一注释
  • 控制单表数据量大小

    • 一般行数不大于500万
    • 分库分表
    • 历史数据归档
  • 谨慎使用分区表

    • 分区表逻辑上为一个表,在物理上为多文件
    • 分区表效率低
    • 使用物理分区表管理大数据
  • 热冷数据分离,减小表的宽度

    • 减小磁盘IO
    • 更有效地利用缓存
  • 禁止在表中预留字段

    • 修改字段造成锁表,成本高
  • 表中禁止存储图片、文件等数据
  • 禁止在线上正式环境做压力测试(使用专门测试环境)
  • 禁止从开发环境、测试环境直连正式环境的数据库

Mraz
7 声望0 粉丝

[链接]